package exception;

import java.awt.*;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.SQLException;

/**
 * 子类重写超类含有throws声明异常抛出的方法时，对throws的重写规则
 */
public class ThrowsDemo {
    public void doSome()throws IOException, AWTException{}
}

class SubClass extends ThrowsDemo{
    // public void doSome()throws IOException, AWTException{}

    //允许子类重写方法时不在抛出任何异常
    // public void doSome(){}

    //允许子类仅抛出部分异常
    // public void doSome()throws IOException{}

    //允许子类方法抛出超类方法抛出异常的自来型异常
    // public void doSome()throws FileNotFoundException{}

    //不允许抛出额外异常(超类方法没有声明抛出的异常，且不存在继承关系的异常)
    // public void doSome()throws IOException, SQLException {}

    //不允许抛出超类方法抛出异常的超类型异常
    // public void doSome()throws Exception{}
}
